Skip to content

VW MLB: Add warning before 6min HCA lockout and opportunistic reset during low torque - #3706

Open
oscarmcnulty wants to merge 3 commits into
commaai:masterfrom
oscarmcnulty:vw-mlb-lateral-nodep
Open

VW MLB: Add warning before 6min HCA lockout and opportunistic reset during low torque#3706
oscarmcnulty wants to merge 3 commits into
commaai:masterfrom
oscarmcnulty:vw-mlb-lateral-nodep

Conversation

@oscarmcnulty

@oscarmcnulty oscarmcnulty commented Aug 24, 2026

Copy link
Copy Markdown

MLB steering racks have a 6min max engagement. After that time it will return status = 'rejected' for ~2.0s and not execute torque requests. Upon observing that openpilot drops HCA_01 status to 'ready' and after a ~2.0s lockout period the EPS switches from rejected to ready and openpilot immediately applies torque again. This max engagement timer can also be reset by disabling control for ~1.1s at any point before 6 mins.

In the current MLB lateral implementation there are no mitigations for this so every 6 mins of engaged time there will be a temporary fault for ~2.0s without any advanced warning that stops lateral control requiring driver to take immediate control.

This PR adds 2 mitigations to make this safer and less annoying:

  1. Add a warning ~5 seconds before the forced steering reset so that the driver has plenty of time to take control prior to the actual steering dropout
  2. Opportunistically disengage lateral control for 1.1 seconds during periods when low torque is requested. This resets the 6min timer without any perceptible effect and in practice makes it very rare to actually get the warning/lockout.

Openpilot will require changes similar to this to support the new warning type oscarmcnulty/openpilot@d709ca9

Test route: 35258b7bb90057ff/00000003--676e449e6e (4.5 hours drive showing ~59 opportunistic resets and 0 lockouts at 6 mins)

Test route 35258b7bb90057ff/00000005--22d16cde7f (opportunistic reset disabled to show pre-lockout warning alert)

@github-actions github-actions Bot added DBC signals car related to opendbc/car/ volkswagen labels Aug 24, 2026
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Car behavior report

Replays driving segments through this PR and compares the behavior to master.
Please review any changes carefully to ensure they are expected.

Testing 130 segments for: VOLKSWAGEN_ARTEON_MK1, VOLKSWAGEN_ATLAS_MK1, VOLKSWAGEN_CRAFTER_MK2, VOLKSWAGEN_GOLF_MK7, VOLKSWAGEN_JETTA_MK7, VOLKSWAGEN_PASSAT_MK8, VOLKSWAGEN_PASSAT_NMS, VOLKSWAGEN_POLO_MK6, VOLKSWAGEN_TAOS_MK1, VOLKSWAGEN_TIGUAN_MK2, VOLKSWAGEN_TOURAN_MK2, VOLKSWAGEN_TRANSPORTER_T61, VOLKSWAGEN_TROC_MK1

✅ 0 changed, 130 passed, 0 errors

@oscarmcnulty
oscarmcnulty marked this pull request as ready for review September 2, 2026 04:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

car related to opendbc/car/ DBC signals volkswagen

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant